Many service providers recognize Ethernet as the most commonly used technology for local-area networks (LANs) and, thus, desire to develop their metro and national networks to support the many emerging Ethernet applications. Examples of such Ethernet applications include Internet access, transparent LAN services, packet-based video conferencing, tunneled virtual private networks (VPNs), storage area networking (SAN), and virtual private line services. For service providers to offer service-level agreements (SLAs) for Ethernet services, quality of service (QoS) mechanisms are necessary to ensure reliable delivery of high-priority and real-time transmissions (e.g., video and voice). In general, QoS enables service providers to achieve service differentiation through predictable service performance. Such predictability comes by guaranteeing allocated (i.e., dedicated) bandwidth, improving packet loss characteristics, avoiding and managing network congestion, shaping network traffic, and setting traffic priorities across the network. For Ethernet, however, there is a general lack of tools to ensure performance of QoS guarantees and service level agreements. Consequently, Ethernet remains primarily a best-effort service.
An important tool for providing QoS in an Ethernet network is a protection scheme. One protection scheme is the spanning tree protocol. Spanning tree algorithms operate to identify a set of loop-free paths in the Ethernet network by constructing a hierarchical management structure among the various Ethernet devices in the network. Protection arises from the ability of an Ethernet device to detect fault conditions in the network and, in response, to construct another set of loop-free paths dynamically. Implementations of spanning tree algorithms can be complex, however, particularly for complex Ethernet network topologies. In addition, failure of a single path in the Ethernet network can cause a time-consuming reconfiguration of the spanning tree, on the order of tens of seconds. Time-sensitive services, such as the delivery of video and voice, cannot abide the time for reconfiguration without serious detriment to the quality of the service. Moreover, by preventing loops, spanning tree algorithms often cause portions of the Ethernet network to go unused.